/**
 */
package BlipLanguage;

import MocaTree.Attribute;
import MocaTree.File;
import MocaTree.Folder;
import MocaTree.MocaTreeFactory;

import MocaTree.Node;
import de.upb.tools.sdm.*;

import java.util.*;
import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Blip Application</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link BlipLanguage.BlipApplication#getModels <em>Models</em>}</li>
 *   <li>{@link BlipLanguage.BlipApplication#getTitle <em>Title</em>}</li>
 *   <li>{@link BlipLanguage.BlipApplication#getPackageName <em>Package Name</em>}</li>
 *   <li>{@link BlipLanguage.BlipApplication#getAndroidPlayLibraryPath <em>Android Play Library Path</em>}</li>
 *   <li>{@link BlipLanguage.BlipApplication#getAndroidMapsApiKey <em>Android Maps Api Key</em>}</li>
 * </ul>
 * </p>
 *
 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication()
 * @model
 * @generated
 */
public interface BlipApplication extends EObject {
	/**
	 * Returns the value of the '<em><b>Models</b></em>' containment reference list.
	 * The list contents are of type {@link BlipLanguage.BlipModel}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Models</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Models</em>' containment reference list.
	 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication_Models()
	 * @model containment="true"
	 * @generated
	 */
	EList<BlipModel> getModels();

	/**
	 * Returns the value of the '<em><b>Title</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Title</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Title</em>' attribute.
	 * @see #setTitle(String)
	 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication_Title()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	String getTitle();

	/**
	 * Sets the value of the '{@link BlipLanguage.BlipApplication#getTitle <em>Title</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Title</em>' attribute.
	 * @see #getTitle()
	 * @generated
	 */
	void setTitle(String value);

	/**
	 * Returns the value of the '<em><b>Package Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Package Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Package Name</em>' attribute.
	 * @see #setPackageName(String)
	 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication_PackageName()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	String getPackageName();

	/**
	 * Sets the value of the '{@link BlipLanguage.BlipApplication#getPackageName <em>Package Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Package Name</em>' attribute.
	 * @see #getPackageName()
	 * @generated
	 */
	void setPackageName(String value);

	/**
	 * Returns the value of the '<em><b>Android Play Library Path</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Android Play Library Path</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Android Play Library Path</em>' attribute.
	 * @see #setAndroidPlayLibraryPath(String)
	 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication_AndroidPlayLibraryPath()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	String getAndroidPlayLibraryPath();

	/**
	 * Sets the value of the '{@link BlipLanguage.BlipApplication#getAndroidPlayLibraryPath <em>Android Play Library Path</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Android Play Library Path</em>' attribute.
	 * @see #getAndroidPlayLibraryPath()
	 * @generated
	 */
	void setAndroidPlayLibraryPath(String value);

	/**
	 * Returns the value of the '<em><b>Android Maps Api Key</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Android Maps Api Key</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Android Maps Api Key</em>' attribute.
	 * @see #setAndroidMapsApiKey(String)
	 * @see BlipLanguage.BlipLanguagePackage#getBlipApplication_AndroidMapsApiKey()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	String getAndroidMapsApiKey();

	/**
	 * Sets the value of the '{@link BlipLanguage.BlipApplication#getAndroidMapsApiKey <em>Android Maps Api Key</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Android Maps Api Key</em>' attribute.
	 * @see #getAndroidMapsApiKey()
	 * @generated
	 */
	void setAndroidMapsApiKey(String value);

} // BlipApplication
